//***********************************************************
//*
//* File:           IFCConfiguration.java
//* Author:         Abhinav Kamra
//* Contact:        kamra@cs.columbia.edu
//* Update:         10/03/2004
//*
//* Description:    Configuration object interface.  Used to
//*                 store, specify, and retrieve
//*                 configuration parameters during
//*                 model instantiation.
//*
//***********************************************************

package ui;

import java.io.Serializable;

public interface IFCConfiguration extends Serializable {

    public void     setNumRounds(int __numrounds)               throws Exception;
    public int      numRounds()                                 throws Exception;
    public void     setNumRoundsBounds(int __min, int __max)    throws Exception;
    public int      numRoundsMin()                              throws Exception;
    public int      numRoundsMax()                              throws Exception;
    
    public int      numPlayers()                                throws Exception;
    public void     setNumPlayersBounds(int __min, int __max)   throws Exception;
    public int      numPlayersMin()                             throws Exception;
    public int      numPlayersMax()                             throws Exception;
    
    public void     setClassList(Class[] __list)                throws Exception;
    public Class[]  classList()                                 throws Exception;
    public Class    getClass(int __pos)                         throws Exception;
    public void     setClass(int __pos, Class __class)          throws Exception;
    
    public void     setPlayerList(Class[] __list)               throws Exception;
    public Class[]  playerList()                                throws Exception;
    public Class[]  RandomplayerList()                          throws Exception;
    public Class    player(int __pos)                           throws Exception;
    public void     setPlayer(int __pos, Class __class)         throws Exception;

    public String[] gameFileList()                              throws Exception;
    public void     setGameFileList(String[] __list )           throws Exception;
    public String   gameFile()                                  throws Exception;
    public void     setGameFile(String __gamefile)              throws Exception;
    
    public String   logFile()                                   throws Exception;
    public void     setLogFile(String __str)                    throws Exception;
}
